package com.hj.authority.service;


import com.hj.authority.domain.dto.EmailSendDTO;
import com.hj.authority.domain.query.SysAccountLoginQuery;
import com.hj.authority.domain.vo.HjTokenVO;

/**
 * @author hj
 * @Date 2023/4/27
 * @Description: 权限认证服务
 */
public interface SysAuthService {

    /**
     * 账号密码登录
     *
     * @param query SysAccountLoginQuery
     * @return HjTokenVO
     */
    HjTokenVO loginByAccount(SysAccountLoginQuery query);


    /**
     * 退出登录
     *
     * @param accessToken accessToken
     */
    void logout(String accessToken);

    /**
     * 发送邮箱验证码
     *
     * @param dto EmailSendDTO
     * @return 缓存key
     */
    String email(EmailSendDTO dto);


}
